

package modelo;

import proyecto2011.Archivo;

/**
 * Clase que representa una Clave Foranea en una Tabla
 * @author Jaime Painefilu - Juan Demo
 */
public class ForeignKey {
    String fknombre;
    String fkcolumna;
    String tblRef;
    String eventAccion;

    public ForeignKey() {
        fknombre = "";
        fkcolumna = "";
        tblRef = "";
        eventAccion = "";
    }

    public void showForeignKey(Archivo arch){
        arch.escribirLinea("    + "+this.fknombre+" FOREIGN KEY("+this.fkcolumna+")");
        arch.escribirLinea(" REFERENCES  "+this.tblRef+this.eventAccion+"\n");
    }

    public String getEventAccion() {
        return eventAccion;
    }

    public void setEventAccion(String eventAccion) {
        this.eventAccion = eventAccion;
    }

    public String getFkcolumna() {
        return fkcolumna;
    }

    public void setFkcolumna(String fkcolumna) {
        this.fkcolumna = fkcolumna;
    }

    public String getFknombre() {
        return fknombre;
    }

    public void setFknombre(String fknombre) {
        this.fknombre = fknombre;
    }

    public String getTblRef() {
        return tblRef;
    }

    public void setTblRef(String tblRef) {
        this.tblRef = tblRef;
    }

    public void compararFk(ForeignKey fk0, Archivo arch){
        if(!(this.fkcolumna.equals(fk0.fkcolumna))|| !(this.tblRef.equals(fk0.tblRef))|| !(this.eventAccion.equals(fk0.eventAccion))){
            arch.escribirLinea("     << ADVERTENCIA! >> Las Claves Foraneas '"+this.fknombre+"' distintas!:\n");
            arch.escribirLinea("        "+this.fknombre+"("+this.fkcolumna+")"+ " REFERENCES "+this.tblRef+this.eventAccion);
            arch.escribirLinea("\n        "+this.fknombre+"("+fk0.fkcolumna+")"+ " REFERENCES "+fk0.tblRef+fk0.eventAccion);
        }
        else arch.escribirLinea("   ** Las Claves Foraneas: '"+this.fknombre+"'  son iguales.\n");
    }

}
